
	public List<Map<Object, Object>> employeePackageTypeStatistic(@RequestParam Map<String, Object> params) {
		long startTimes = System.currentTimeMillis();
		//ExecutorService executor = Executors.newFixedThreadPool(2);
		//List<Future<?>> futures = new ArrayList<>();
		List<Map<Object, Object>> list = tTenantPackageService.employeePackageTypeStatistic(params);
		for (Map<Object, Object> map : list) {
		//	Future<?> future = executor.submit(() -> {
			params.put("employeeId", map.get("employeeId"));
			params.put("pId", map.get("pId"));
			//params.put("employeeName",map.get("employeeName"));
			//统计订单数
			List<Map<Object, Object>> countOrderNum = tTenantPackageService.countOrderTypeNum(params);
			for (Map<Object, Object> objectMap : countOrderNum) {
				map.put("quantity", objectMap.get("quantity"));
				map.put("quantity2", objectMap.get("quantity2"));
				map.put("quantity3", objectMap.get("quantity3"));
				map.put("quantity4", objectMap.get("quantity4"));
			}

			List<Map<Object, Object>> mapList = tTenantPackageService.employeePackageTypeStatisticAll(params);
			for (Map<Object, Object> allMap : mapList) {
				//现金劳动业绩总和
				map.put("workAchievementAmountSum", allMap.get("workAchievementAmount").toString());
				//耗卡劳动业绩总和
				map.put("workAchievementAmountSum2", allMap.get("workAchievementAmount2").toString());
				//指定劳动业绩总和
				map.put("workAchievementAmountSum3", allMap.get("workAchievementAmount3").toString());
				//非指定劳动业绩总和
				map.put("workAchievementAmountSum4", allMap.get("workAchievementAmount4").toString());

			}
			//List flag=tOrderPropertyService.getTOrderPropertyOrderId2(params);
			if (ObjectUtils.isNotEmpty(tOrderPropertyService.getTOrderPropertyOrderId2(params))) {
				List<Map<Object, Object>> tOrderPropertyOrderId = tOrderPropertyService.getTOrderPropertyOrderId2(params);
				for (Map<Object, Object> orderMap : tOrderPropertyOrderId) {
					//指定现金比例
					map.put("specifiedCashRation",orderMap.get("specifiedCashRation").toString());
					//未指定现金比例
					map.put("noCashProportionSpecified",orderMap.get("noCashProportionSpecified").toString());
					//指定耗卡比例
					map.put("specifyCardConsumptionRatio",orderMap.get("specifyCardConsumptionRatio").toString());
					//未指定耗卡比例
					map.put("cardConsumptionRatioIsNotSpecified",orderMap.get("cardConsumptionRatioIsNotSpecified").toString());

				}
			}
			else {
				//没有都返回为0
				//指定现金比例
				map.put("specifiedCashRation", 0);
				//未指定现金比例
				map.put("noCashProportionSpecified", 0);
				//指定耗卡比例
				map.put("specifyCardConsumptionRatio", 0);
				//未指定耗卡比例
				map.put("cardConsumptionRatioIsNotSpecified", 0);
			}
			List<Map<Object, Object>> performanceMapList = tTenantPackageService.orderPerformance(params);
			//performanceMapList.parallelStream().forEach(perMap -> {
			for (Map<Object, Object> perMap : performanceMapList) {
				List<TOrderCompliance> tOrderComplianceList=new ArrayList<>();
				map.put("commissionType",1);
				map.put("royaltyList",tOrderComplianceList);
				TOrderProportion tOrderPropertyOrderId = tOrderPropertyService.getTOrderPropertyOrderId(params);
				if (ObjectUtils.isNotEmpty(tOrderPropertyOrderId)) {
					if (2==tOrderPropertyOrderId.getCommissionType()){
						//产品经理在需求上加需求
						//本身就是屎山在加代码
						Map<String,Object> objectMap=new HashMap<>();
						objectMap.put("TENANT_ID",tOrderPropertyOrderId.getTenantId());
						objectMap.put("EMPLOYEE_ID",tOrderPropertyOrderId.getEmployeeId());
						objectMap.put("PROPORTION_ID",tOrderPropertyOrderId.getId());
						objectMap.put("COMPLIANCE_AMOUNT",map.get("workAchievementAmountSum4"));
						TOrderCompliance orderCompliance=tOrderComplianceService.findReachStandard(objectMap);
						tOrderPropertyOrderId.setSpecifiedCashRation(null!=orderCompliance?orderCompliance.getSpecifiedCashRation():new BigDecimal(0));
						tOrderPropertyOrderId.setSpecifyCardConsumptionRatio(null!=orderCompliance?orderCompliance.getSpecifyCardConsumptionRatio():new BigDecimal(0));
						tOrderPropertyOrderId.setNoCashProportionSpecified(null!=orderCompliance?orderCompliance.getNoCashProportionSpecified():new BigDecimal(0));
						tOrderPropertyOrderId.setCardConsumptionRatioIsNotSpecified(null!=orderCompliance?orderCompliance.getCardConsumptionRationIsNotSpecified():new BigDecimal(0));
						map.put("commissionType",tOrderPropertyOrderId.getCommissionType());
						for (TOrderCompliance tOrderCompliance : tOrderComplianceService.selectRoyaltyList(objectMap)) {
							log.info("tOrderCompliance=================="+tOrderCompliance);
						}
						map.put("royaltyList",tOrderComplianceService.selectRoyaltyList(objectMap));
					}

					//是否是指定
					if (perMap.get("isAppointed").equals(true)) {
						//指定现金劳动业绩提成
						BigDecimal bigDecimal = NumberArithmeticUtils.safeMultiply(tOrderPropertyOrderId.getSpecifiedCashRation(), 0.01);
						map.put("commission", NumberArithmeticUtils.safeMultiply(Double.parseDouble(perMap.get("workAchievementAmount").toString()), bigDecimal));
						//指定现金劳动业绩
						map.put("performance", perMap.get("workAchievementAmount").toString());

						//指定耗卡劳动业绩提成
						BigDecimal bigDecimal2 = NumberArithmeticUtils.safeMultiply(tOrderPropertyOrderId.getSpecifyCardConsumptionRatio(), 0.01);
						map.put("commission2", NumberArithmeticUtils.safeMultiply(Double.parseDouble(perMap.get("workAchievementAmount2").toString()), bigDecimal2));
						//指定耗卡劳动业绩
						map.put("performance2", perMap.get("workAchievementAmount2").toString());

						if (StringUtils.isEmpty(map.get("performance3")) && StringUtils.isEmpty(map.get("performance4"))) {
							//指定现金劳动业绩
							map.put("commission3", 0);

							//指定耗卡劳动业绩
							map.put("commission4", 0);
						}
					}
					else {
						if (StringUtils.isEmpty(map.get("performance")) && StringUtils.isEmpty(map.get("performance2"))) {
							//指定现金劳动业绩
							map.put("commission", 0);

							//指定耗卡劳动业绩
							map.put("commission2", 0);

						}
						//未指定现金劳动业绩提成
						BigDecimal bigDecimal = NumberArithmeticUtils.safeMultiply(tOrderPropertyOrderId.getNoCashProportionSpecified(), 0.01);
						map.put("commission3", NumberArithmeticUtils.safeMultiply(Double.parseDouble(perMap.get("workAchievementAmount").toString()), bigDecimal));
						//未指定现金劳动业绩
						map.put("performance3", perMap.get("workAchievementAmount").toString());

						//未指定耗卡劳动业绩提成
						BigDecimal bigDecimal2 = NumberArithmeticUtils.safeMultiply(tOrderPropertyOrderId.getCardConsumptionRatioIsNotSpecified(), 0.01);
						map.put("commission4", NumberArithmeticUtils.safeMultiply(Double.parseDouble(perMap.get("workAchievementAmount2").toString()), bigDecimal2));
						//未指定耗卡劳动业绩
						map.put("performance4", perMap.get("workAchievementAmount2").toString());
					}
				}
				else {
					if (perMap.get("isAppointed").equals(true)) {
						//指定耗卡劳动业绩
						map.put("performance", 0);
						//指定现金劳动业绩提成
						map.put("commission", 0);

						//指定耗卡劳动业绩
						map.put("performance2", 0);
						//指定耗卡劳动业绩提成
						map.put("commission2", 0);
					}
					else {
						//未指定现金劳动业绩
						map.put("performance3", 0);
						//未指定现金劳动业绩提成
						map.put("commission3", 0);

						//未指定耗卡劳动业绩
						map.put("performance4", 0);
						//未指定耗卡劳动业绩比例提成
						map.put("commission4", 0);
					}

				}
			}
			//});
			//futures.add(future);
		}

		//// 等待所有任务完成
		//for (Future<?> future : futures) {
		//	try {
		//		future.get(); // 阻塞直到任务完成
		//	} catch (Exception e) {
		//		System.err.println("等待任务完成时出错: " + e.getMessage());
		//	}
		//}
		//executor.shutdown();
		long endTimes = System.currentTimeMillis();
		long executionTime = endTimes - startTimes;
		System.out.println("for处理时间: " + executionTime + "毫秒"+"============数据大小："+list.size());
		return list;
	}